解决python报错ModuleNotFoundError: No module named ‘xxx‘ | 您所在的位置:网站首页 › python syspathappend › 解决python报错ModuleNotFoundError: No module named ‘xxx‘ |
如解决不了你的问题,你来找我 提示的是自定义的包找不到,实际上是有的,__init__.py文件也是有的(包下如果没有__init__.py就创建一个,一半概率此时可解决)。 经过排查解决,方法如下 目录 方法1 方法2 方法3 方法1如果可以,将报错的包from xxx import yyy缩小范围,放到具体需要它的那行紧挨的上方、而非最顶部 方法2路径不正确 import sys sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))其中os.path.abspath(__file__)用来获取本文件的绝对路径,os.path.dirname用来获取参数的直接全路径。 使用很简单,比如A文件引入了B,B所在的文件比A高两层,则嵌套os.path.dirname两次,嵌套几层就是几个os.path.dirname 比如作者这个情况如下: 根目录 ----A -------a.py ----B -------C -----------c.py也就是说c.py中引入了a.py的东西报的改错,这时候c.py中就是嵌套两层os.path.dirname。 且sys.path.append这句一定一定要放在报错的import那行的上方,否则也是徒劳。 到此,百分之90的概率基本都解决了。如果你的还没解决,排除是路径层级等低级问题导致不正确外,请继续往下看。 方法3和方法2类似,但看起来更“具体”些 情形如下: 根目录 ----A -------B ----------C -------------cc.py ----D -------E ----------F -------------G ----------------gg.py描述一下: cc.py中需要导入gg.py中的一个类,此时cc中需要: sys.path.append('{}{}'.format(os.path.dirname(os.path.abspath(__file__)), '/../../D/E/F')) from G import xxx这就是终极办法,到此你一定可以解决的。实质就是以确定性的姿态定位它的路径。 需要注意的地方: 1,路径的拼装,重在层级的准确性和/ 2,如果还不正确,则原因就是路径拼的不对,检查一下即可; 如有任何疑问,可以随时留言哦,如对你有帮助、欢迎留下足迹! 来源:_七里香 您可能感兴趣的内容: 【Python】使用python遍历文件夹查找指定文件夹下所有同名文件和所有同后缀文件 python异常,报错NameError: name ‘__file__’ is not defined怎么解决? YOLOV5源码的详细解读 PyQt5保姆级教程– 从入门到精通 【python教程】– 入门 | 小甲鱼《零基础入门学Python》教程笔记(知识点详细、源码可复制)全 |
CopyRight 2018-2019 实验室设备网 版权所有 |